package com.tedu.api.thread;

/**
 * 匿名内部类方式：Thread创建模式、Rummable创建模式
 * JavaOOP---封装---内部类：成员内部类、方法内部类、匿名内部类、静态内部类
 *
 * 匿名内部类：针对接口以及抽象类，使用匿名内部类创建
 *           【对象只实例化[创建]一次对象】
 * 语法：   对象    引用=new    对象(){匿名内部类}
 */
public class TR {
    public static void main(String[] args) {
        //1.使用匿名内部类：完成Thread类创建
      /*  Thread t1=new Thread(){
            //匿名内部类--直接调用方法
            public void run(){
                for(int i=0;i<1000;i++){
                    System.out.println("One愣One楞");
                }
            }
        };*/
        //java  封装线程---Thread  t1=new Thread();  t1.start();
        //      Thread   ---内嵌入   Runnable   -> new Runnable
        //      Thread 优点：使用方便，但是结构不适合线程创建
        Thread t1=new Thread(()->{for(int i=0;i<1000;i++){
            System.out.println("One愣One楞");
        }});

        //2.启动  匿名内部类---完成线程创建
        t1.start();


        //*************************************************//

        //2.使用匿名内部类---完成Runnable接口写法
       /* Thread  t2=new Thread(new Runnable() {
            @Override
            public void run() {
                for(int i=0;i<1000;i++){
                    System.out.println("Runnable匿名内部类写法");
                }
            }
        });*/
        //使用Lambda表达式   Runnable真正线程操作---功能run方法
        Runnable r=()->{
            for(int i=0;i<1000;i++){
                System.out.println("Runnable匿名内部类写法");
            }
        };
        Thread t2=new Thread(r);
        //3.启动线程
        t2.start();
    }
}
